import axios from 'axios';
// import {Message} from 'element-ui'
// import store from '../store'

//导出request方法，供其它地方使用
export function request(config) {
    const instance = axios.create({
        // baseURL: 'http://150.158.27.81/swapi',
        baseURL: 'http://127.0.0.1:5000',
        timeout: 6000000
        // >>>>>>> cb7bc7bbbdce92b0eb225a0316b2e2d8baea8863
    })
    instance.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded;charset=UTF-8';
    //------------------请求拦截-------------------//
    //------------在发送请求之前做些什么------------//
    instance.interceptors.request.use(config => {
        // 若存在token则带token
        // const token = store.state.token;
        // 若存在token则带token
        // var storedToken = localStorage.getItem('token');
        // var token = null
        // if (storedToken) {
        //     var tokenWithExpiration = JSON.parse(storedToken);
        //     token = tokenWithExpiration.token; // 从localStorage中获取token
        //     // 进一步处理 token 值
        //     console.log(token);
        // } else {
        //     // 如果没有找到存储的 token
        //     console.log('未找到存储的 token');
        // }
        // 若存在token则带token
        var storedToken = localStorage.getItem('token');
        var token = null;

        if (storedToken) {
            try {
                var tokenWithExpiration = JSON.parse(storedToken);
                token = tokenWithExpiration.token; // 从localStorage中获取token
                // 进一步处理 token 值
                console.log(token);
            } catch (error) {
                console.error('存储的 token 不是有效的 JSON 格式:', error);
            }
        } else {
            // 如果没有找到存储的 token
            console.log('未找到存储的 token');
        }

        if (token) {
            config.headers.Authorization = token
        }
        // 放行
        return config;
    }, err => {
        console.log("请求拦截=>", err);
        return err;
    })
    //------------------响应拦截-------------------//
    //-------------对响应数据做点什么-------------//
    // instance.interceptors.response.use(res => {
    //     //例：后端数据处理错误，并返回错误原因；前端获取错误原因并展示
    //     console.log("响应拦截=>", res.data);
    //     if (res.data.success === false) {
    //         Message({
    //             message: res.data.data.message + '，请重试！',
    //             type: 'warning'
    //         });
    //     }
    //     return res ? res.data : res;
    // }, err => {
    //     console.log(err);
    //     console.log("响应拦截错误完整信息=>", err.response)
    //     //也可以在这里对不同的错误码做不同的展示处理
    //     throw err;
    // })

    return instance(config);
}

